1 /*
2 * Copyright (C) 1998-2000 Semiotek Inc. All Rights Reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted under the terms of either of the following
6 * Open Source licenses:
7 *
8 * The GNU General Public License, version 2, or any later version, as
9 * published by the Free Software Foundation
10 * (http://www.fsf.org/copyleft/gpl.html);
11 *
12 * or
13 *
14 * The Semiotek Public License (http://webmacro.org/LICENSE.)
15 *
16 * This software is provided "as is", with NO WARRANTY, not even the
17 * implied warranties of fitness to purpose, or merchantability. You
18 * assume all risks and liabilities associated with its use.
19 *
20 * See www.webmacro.org for more information on the WebMacro project.
21 */
22
23
24 package org.webmacro.servlet;
25
26 import org.webmacro.Context;
27 import org.webmacro.ContextTool;
28 import org.webmacro.PropertyException;
29
30 import javax.servlet.http.HttpSession;
31
32 /***
33 * Provide Template with access to the HttpSession associated
34 * with the current request.
35 */
36 public class SessionTool extends ContextTool
37 {
38
39 public Object init (Context context)
40 throws PropertyException
41 {
42 try
43 {
44 WebContext wc = (WebContext) context;
45 HttpSession s = wc.getRequest().getSession(true);
46 return s;
47 }
48 catch (ClassCastException ce)
49 {
50 throw new PropertyException(
51 "SessionTool only works with WebContext", ce);
52 }
53 }
54
55 }